package co.yixiang.modules.monitoring.entity.dto;

import co.yixiang.common.annotation.Sensitive;
import co.yixiang.modules.monitoring.entity.enums.DeviceTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
public class YxMonitoringDto implements Serializable {

    /** 监控设备ID */
    private Integer id;
    /** 分类id */
    private Long cateId;
    /** 设备名称 */
    private String name;
    /** 设备的类型
     * @see DeviceTypeEnum
     *  */
    private String type;
    /** 预览图 */
    @Sensitive
    private String preview;
    /** 设备是否支持调节 */
    private Boolean isAdjust;
    /**
     * 设备序列号,存在英文字母的设备序列号，字母需为大写
     */
    private String deviceSerial;
    /**
     * 设备验证码，设备机身上的六位大写字母
     */
    private String validateCode;
    /** 主机 */
    private String host;
    /** 端口 */
    private String port;
    /** 用户名 */
    private String username;
    /** 密码 */
    private String passwd;

    /** 通道 */
    private String channel;
    /** 是否多播 */
    private Boolean multicast;
    /** 浏览次数 */
    private Integer visit;
    /** 排序 */
    private Integer sort;
    /** 位置信息  */
    private String positionStr;
    /** 地址  */
    private String addressPath;
    /** 详细地址  */
    private String addressDetail;
    /**
     * 设备类型为NVR是保存的通道信息
     */
    private String channelData;
    /** 监控设备的状态 */
    private Integer status;
    /** 设备的rtsp链接 */
    private String url;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
